package com.tanker.common; 

import java.io.Serializable;

import org.springframework.util.StringUtils;


/** 
 * @comments
 * @author zg 
 * @version 2013年9月14日 
 */
public class BaseOutJB implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	protected String resCode;
	protected String resMsg;
	protected Object data;
	
	public BaseOutJB(){}
	
	/**
	 * 
	 * @param request
	 * @param errorCode
	 * @param udMsg 自定义信息 （user-defined message）
	 */
	public BaseOutJB(ErrorCode errorCode){
		this.resCode = errorCode.getCode();
		this.resMsg = errorCode.getText();
	}
	
	public BaseOutJB(String resCode,String resMsg){
		this.resCode = resCode;
		this.resMsg = resMsg;
	}
	
	/**
	 * 构造带自定义错误信息 的 json bean
	 * @param request
	 * @param errorCode
	 * @param udMsg 自定义信息 （user-defined message）
	 */
	public BaseOutJB(ErrorCode errorCode, String udMsg){
		this.resCode = errorCode.getCode();
		this.resMsg = StringUtils.hasText(udMsg) ? udMsg : errorCode.getText();
		//this.resMsg = udMsg;
	}
	
	/**
	 * 构造带返回数据的 json bean
	 * @param errorCode
	 * @param data 返回的数据
	 */
	public BaseOutJB(ErrorCode errorCode, Object data){
		this.resCode = errorCode.getCode();
		this.resMsg = errorCode.getText();
		this.data = data;
	}

	/**
	 * 构造 带 返回数据 和  自定义错误信息的 json bean
	 * @param request
	 * @param errorCode
	 * @param data 返回的数据
	 * @param udMsg 自定义信息
	 */
	public BaseOutJB(ErrorCode errorCode, Object data, String udMsg){
		this.resCode = errorCode.getCode();
		this.resMsg = StringUtils.hasText(udMsg) ? udMsg : errorCode.getText();
		//this.resMsg = udMsg;
		this.data = data;
	}
	

	public String getResCode() {
		return resCode;
	}
	public void setResCode(String resCode) {
		this.resCode = resCode;
	}
	public String getResMsg() {
		return resMsg;
	}
	public void setResMsg(String resMsg) {
		this.resMsg = resMsg;
	}

	public Object getData() {
		return data;
	}

	public void setData(Object data) {
		this.data = data;
	}
}
 